home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / gui / gaded220.lha / GadEdit / GadEdit.DOC.ENG < prev    next >
Text File  |  1992-10-09  |  39KB  |  841 lines

  1.         Gadget's Editor V2.20     User Manual     Gadget's Editor V2.20
  2.  
  3.  
  4.             Gadget's Editor V2.20 Copyright (C) 1992 Stefano Crimì
  5.             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6.                         A Very Strong Gadget's Editor.
  7.                            Date of issue: 09 Oct 92
  8.  
  9.  
  10.                                   Legal Stuff
  11.                                   ~~~~~~~~~~~
  12.  
  13.             This program is SHAREWARE: that means if you use it and you
  14.         find  it useful, you  are morally obliged  to register yourself
  15.         for the program sending £20.000 or $20 to the author.  Remember
  16.         that  only registering  yourself for  the program  you give the
  17.         author the opportunity to go on developing further programs for
  18.         Amiga.
  19.             This program can be distribuited  freely in the BBS and  in
  20.         the  disks containing  PD and  SHAREWARE programs  on condition
  21.         that the user pays only for the cost of the disk. In any  other
  22.         case the WRITTEN authorization of the author is necessary.
  23.             This  program must  not be  absolutely modified without the
  24.         WRITTEN  authorization  of  the  author.  Only  compacting with
  25.         programs such as Lharc, PKAzip, etc. is allowed.
  26.  
  27.  
  28.  
  29.                                   DISCLAIMER
  30.                                   ~~~~~~~~~~
  31.  
  32.             This  program is distribuited 'as  is'. The author does not
  33.         shoulder any responsability as to any damage the program  could
  34.         provoke: who uses the program, does it at his own risk.
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.                                      - 1 -
  60.  
  61.         Gadget's Editor V2.20     User Manual     Gadget's Editor V2.20
  62.  
  63.  
  64.                                  INTRODUCTION
  65.                                  ~~~~~~~~~~~~
  66.  
  67.             When you design some Gadgets, you often find some problems:
  68.         wrong  position and dimension and wrong characteristics are the
  69.         most frequent ones.  This is the  reason why I  have decided to
  70.         write  a program which would allow to design and modify Gadgets
  71.         of any type (Booleans, Strings and Proportionals) with  extreme
  72.         facility.  The result has been this  very good program which is
  73.         certainly not perfect, but it is sure it responds to the  needs
  74.         of  nearly all users. It is  obvious that the program allows to
  75.         save the Gadgets that have  been created in C, Assembler  or in
  76.         the  internal  format  of  the  program  (to be able to load it
  77.         afterwards). I  have chosen  C and  Assembler because  they are
  78.         certainly  the two most diffused  languages in the Amiga world.
  79.         Of  course,  if  you  are  interested  in  saving the code in a
  80.         different language, you can inform me.
  81.             To  write this program has not been easy at all, especially
  82.         because I had to consider all the possible choices of the user;
  83.         after  a  long  work  (several  months)  I  have  succeeded  in
  84.         obtaining a version without bugs which can perfectly be used by
  85.         anyone.
  86.  
  87.  
  88.  
  89.                                   THE PROGRAM
  90.                                   ~~~~~~~~~~~
  91.  
  92.             The  program  can  be  launched  both  from  CLI  and  from
  93.         Workbench; if you launch it from CLI, the program will use  the
  94.         function CreateProcess of the DOS.library to detach the process
  95.         CLI where it has been launched from.
  96.             The  program,  once  it  has  been launched, opens a custom
  97.         screen of 640*256  pixels with 2  BitPlanes (4 colors).  I have
  98.         chosen  this  solution  in  order  not  to  crowd  too much the
  99.         WorkBench  screen  and  not  to  have  problems  with the fonts
  100.         different  from Topaz 8.  At the beginning  on the screen there
  101.         appears only the banner of presentation, but all choices can be
  102.         effected through the menus (see paragraph: THE MENUS).
  103.             As soon as  the program has  been launched, it  will try to
  104.         load  the GadEdit.cfg File in the  current directory, or, if it
  105.         does not find it,  in the logical device  S:; if the File  does
  106.         not  exist in any of the  two directories, the program will use
  107.         the default settings, while, if there is one, the program  will
  108.         use the settings contained in it.
  109.             In  order to  work the  program needs  the presence of four
  110.         shared      libraries:      DOS.library,      Graphics.library,
  111.         Intuition.library  and ReqTools.library;  the first  three ones
  112.         are in ROM, and so there are not any problems for the  loading,
  113.         while  the ReqTools is an external  library which has to be put
  114.         into LIBS:. The ReqTools.library is Copyright (C) Nico François
  115.         and is included in the package of the Gadget's Editor.
  116.             Besides the program tries to open the Locale.library;  this
  117.  
  118.  
  119.                                      - 2 -
  120.  
  121.         Gadget's Editor V2.20     User Manual     Gadget's Editor V2.20
  122.  
  123.  
  124.         is  a new library of S.O. 38.xx  and it serves for locating the
  125.         programs and for rendering  them multilanguage; if the  program
  126.         finds  the Locale.library,  it will  use the  language the user
  127.         prefers (obiously only if it is available). To make the various
  128.         languages available to the program, it is necessary to copy the
  129.         File  gadedit.catalog  concerning  the  language desired in the
  130.         directory  Locale:Catalogs/xxxxxx  where  xxxxxx represents the
  131.         name  of  the  language  desired  (Italiano, Deutsch, etc.). Of
  132.         course,  if  the  program  does  not  succeed  in  opening  the
  133.         Locale.library, it will use the English language.
  134.             In the original  package there are  all the Files  that are
  135.         necessary   to  create  the  gadedit.catalog  concerning  every
  136.         language. Who creates the gadedit.catalog concerning a language
  137.         different from  the ones  present in  the original  package, is
  138.         kindly  requested to send it to me to allow me to include it in
  139.         the future versions of the program.
  140.  
  141.  
  142.  
  143.                                    THE MENUS
  144.                                    ~~~~~~~~~
  145.  
  146.             The program uses three menus: Gadget, Code and General;  as
  147.         it  is possible  to understand  from the  name, the  first menu
  148.         contains  elements  that  regard  the  Gadgets,  the second one
  149.         elements  that  regard  the  Code,  and  the  third one various
  150.         elements that are not included in the two preceding categories.
  151.         Let's now examine the three menus in details.
  152.  
  153.  
  154.                                 THE GADGET MENU
  155.  
  156.             The first menu, Gadget,  contains three items: Add,  Delete
  157.         and  Edit. The  first one  allows to  create a  new Gadget, the
  158.         second  one  allows  to  cancel  one  Gadget, and the third one
  159.         allows  to modify a Gadget that  has been created before. It is
  160.         obvious that the two latter ones work only if there is at least
  161.         one Gadget present. All the three items of this menu have  some
  162.         short-cuts:  Add is recalled by  Amiga-A, Delete by Amiga-D and
  163.         Edit by Amiga-E.
  164.             Let's now see  how the three  functions of this  menu work:
  165.         Add   serves  to  create  new  Gadgets;  in  another  paragraph
  166.         (CREATING A NEW GADGET) we will see how it works; here  instead
  167.         we  will  see  how  the  other  two functions (Delete and Edit)
  168.         work.
  169.             The first  one serves  to cancel,  and it  works in  a very
  170.         simple  way: after having chosen it through the menu, the title
  171.         of the  window changes  requesting to  select the  Gadget to be
  172.         cancelled, and after the user has selected it, the program will
  173.         cancel  it and  thus set  free all  the memory allocated by the
  174.         Gadget itself. You can of course also get out of the  selection
  175.         using  the  key  ESC,  since  the  user could have selected the
  176.         function Delete erroneously.
  177.  
  178.  
  179.                                      - 3 -
  180.  
  181.         Gadget's Editor V2.20     User Manual     Gadget's Editor V2.20
  182.  
  183.  
  184.             Also  the function Edit behaves like the function Delete at
  185.         the beginning: but  after having selected  the Gadget, it  will
  186.         not cancel it but open a Requester that allows to modify it (it
  187.         is the same Requester opened by the function Add). Also here it
  188.         is  of course possible to use ESC  if you do not want to modify
  189.         any Gadget.
  190.  
  191.  
  192.                                  THE CODE MENU
  193.  
  194.             In the second menu we  have only two items: Load  and Save.
  195.         They,  too, can be recalled by  short-cuts: Load by Amiga-L and
  196.         Save  by  Amiga-S.  Their  functionment  is quite obvious: Load
  197.         permits to charge a File in the format of Gadget's Editor saved
  198.         previously,  while Save  permits to  save the  Gadgets in three
  199.         different formats:  as source  Assembler, as  source C  or as a
  200.         File in the format of Gadget's Editor.
  201.  
  202.  
  203.                                THE FUNCTION LOAD
  204.  
  205.             If  there  are  already  some  Gadgets  visualized when you
  206.         select the function Load, the program will ask the user through
  207.         a Requester if he wants to delete the Gadgets already  present:
  208.         if  he selects Yes, the Gadgets  will be deleted; if he selects
  209.         No, they will remain at their place. Besides, if there are some
  210.         Gadgets present which have not yet been saved, the program will
  211.         visualize a Requester asking the user if he wants to  continue.
  212.         If he selects Yes, the program will continue; if he selects No,
  213.         it will abort the function Load.
  214.             The   function  Load   opens  the   File-Requester  of  the
  215.         ReqTools.library; selecting Cancel  or the closing  Gadget, the
  216.         program  will abort the function Load.  Otherwise it will go on
  217.         loading  the  File  specified.  If  the File specified does not
  218.         exist, the program will show a Requester to inform the user and
  219.         will  abort the function  Load. If the  File specified is not a
  220.         File in  the format  of the  Gadget's Editor,  the program will
  221.         inform the user through a Requester and will abort the function
  222.         Load. If instead there are no errors, the program will load the
  223.         File and create the Gadgets following the indications contained
  224.         in the File.
  225.  
  226.  
  227.                                THE FUNCTION SAVE
  228.  
  229.             As  soon as it has been selected, the function Save opens a
  230.         Requester that allows the user to choose the type of File to be
  231.         generated. There are four choices possible: Assembler, Gadget's
  232.         Editor, C,  Exit. If  you select  Assembler, a  source will  be
  233.         generated  in Assembler; if you  select Gadget's Editor, a File
  234.         in the format of the Gadget's Editor will be generated; if  you
  235.         select  C, a source will be generated in C, and selecting Exit,
  236.         the function Save will end.  After you have chosen the  type of
  237.  
  238.  
  239.                                      - 4 -
  240.  
  241.         Gadget's Editor V2.20     User Manual     Gadget's Editor V2.20
  242.  
  243.  
  244.         File to be generated, the program will open a File-Requester to
  245.         allow the user to insert the name of the File to be created. If
  246.         Cancel is selected or if the closing Gadget of the Requester is
  247.         pressed,  you will immediately go out  of the function Save. If
  248.         the  selected  File  exists  already,  the  program will open a
  249.         Requester  asking  the  user  if  it  has to overwrite the File
  250.         already present  or not:  if you  select Yes,  the File already
  251.         present  will be cancelled and the function Save will continue;
  252.         if you select No, the function Save will end.
  253.  
  254.  
  255.                                THE GENERAL MENU
  256.  
  257.             This menu contains five items: Information, Change  Colors,
  258.         Load  Config, Save Config and Quit;  they, too, can be selected
  259.         through  short-cuts  (respectively  Amiga-I,  Amiga-P, Amiga-O,
  260.         Amiga-V and Amiga-Q).
  261.             Selecting  Information, the  program will  open a Requester
  262.         which visualizes some  data of the  program and of  the author.
  263.         With  Change Colors the program will open the Palette-Requester
  264.         of the ReqTools.library allowing the user to modify the  screen
  265.         colors. Load Config and Save Config serve instead to load a new
  266.         configuration  and save the  one presently used  by the program
  267.         (presently  the  configuration  File  contains  only  the  data
  268.         concerning  the  screen  colors).  Selecting Quit, finally, the
  269.         program will end. The same function of Quit is also executed by
  270.         the closing Gadget of the window and by the key ESC (all  three
  271.         of  them call the same routine). If the visualized Gadgets have
  272.         not been saved, the program will open a Requester asking if you
  273.         really want to quit: selecting Yes, you will quit the  program,
  274.         while it will go on running if you select No.
  275.  
  276.  
  277.  
  278.                              CREATING A NEW GADGET
  279.                              ~~~~~~~~~~~~~~~~~~~~~
  280.  
  281.             To create a new Gadget you only need select the item Add of
  282.         the  Gadget menu or use  the corresponding short-cut (Amiga-A).
  283.         The  title  of  the  window  will  change  to "Select the first
  284.         corner" immediately, followed by the present coordinates of the
  285.         pointer;  clicking the left mouse  button, you will thus select
  286.         the first corner. After having done this choice, the title will
  287.         change  to  "Select  the   second  corner",  followed  by   the
  288.         dimensions  of the Gadget. If you  move the pointer, the Border
  289.         of the Gadget will be  drawn on the screen, and  its dimensions
  290.         will  be shown above.  If you click  the left mouse button, the
  291.         second corner will be selected and thus a big Requester will be
  292.         opened that occupies nearly all the screen: it is the Requester
  293.         Gadget Description which allows to set all the  characteristics
  294.         of  the Gadget  (Position, Dimensions,  Flags, Type, etc.). The
  295.         same Requester is  also opened by  the item Edit  of the Gadget
  296.         menu   to  modify  the  characteristics  of  a  Gadget  already
  297.  
  298.  
  299.                                      - 5 -
  300.  
  301.         Gadget's Editor V2.20     User Manual     Gadget's Editor V2.20
  302.  
  303.  
  304.         existing.
  305.             The  Requester is  divided into  five parts:  the first one
  306.         which  is  in  the  top  position,  allows  to set Position and
  307.         Dimensions,  the  second  one  allows  to set the various Flags
  308.         (GADGHCOMP, GADGHBOX, etc.),  the third one  allows to set  the
  309.         parameters  of Activation (RELVERIFY, GADGIMMEDIATE, etc.), the
  310.         fourth one  allows to  select the  Type of  Gadget (BOOLGADGET,
  311.         PROPGADGET,  etc.), while  the last  part contains some Gadgets
  312.         which   allow   to   create   the   structures    GadgetRender,
  313.         SelectRender,  GadgetText  and  SpecialInfo  of  the Gadget, to
  314.         select the name of the  Gadget and finally to accept  or refuse
  315.         the  settings (through the Gadgets Continue and Cancel). In the
  316.         following  paragraphs  we  will  analyze  these five parts in a
  317.         detailed way.
  318.  
  319.  
  320.                             POSITION AND DIMENSIONS
  321.  
  322.             The   first   part   of   the   Requester   contains   four
  323.         String-Gadgets: Left, Top, Width and Height; of course they can
  324.         assume only numerical  values. As you  can understand from  the
  325.         very  names, these  Gadgets contain  respectively: the position
  326.         compared to the left Border,  the position compared to the  top
  327.         Border,  the width and the height; all of them are expressed in
  328.         pixels.
  329.             If you press Return while you are inserting the value  into
  330.         a Gadget, the following Gadget will be activated automatically.
  331.  
  332.  
  333.                                      FLAGS
  334.  
  335.             The  second part of the  Requester is dedicated entirely to
  336.         the Flags of the Gadget: in fact there are 10 Gadgets by  means
  337.         of which the user can select the characteristics of the Gadget.
  338.         But  let's  go  on  in  order:  the first four Gadgets serve to
  339.         select the reaction of the  Gadget to the clicking of  the left
  340.         mouse  button:  with  GADGHCOMP  (default  setting  in  the new
  341.         Gadgets)  the  selected  Gadget  will  be  complementary to the
  342.         Gadget  not selected (complementary means  that color 0 becomes
  343.         3,  color  1  becomes  2  and  vice  versa);  with GADGHBOX the
  344.         selected Gadget will be surrounded by a colored rectangle; with
  345.         GADGHIMAGE  the selected Gadget will show the data contained in
  346.         gg_SelectRender  (see  later  on),  while  with  GADGHNONE  the
  347.         selected Gadget will remain the same as the one not selected.
  348.             Obviously  these four Gadgets  are mutually exclusive among
  349.         themselves,  so  if  you  select  one  of  them,  the one which
  350.         previously  was active, will be deselected (it is obvious that,
  351.         if you reselect the  Gadget already active, absolutely  nothing
  352.         will  happen). The other  six Gadgets serve  instead to set the
  353.         characteristics, and they are all of the TOGGLE type (i.e. they
  354.         can be either selected or  deselected); it is obvious that  the
  355.         program  will set only the selected characteristics if Continue
  356.         is  clicked.  The  six  Gadgets  are  in  the order: GADGIMAGE,
  357.  
  358.  
  359.                                      - 6 -
  360.  
  361.         Gadget's Editor V2.20     User Manual     Gadget's Editor V2.20
  362.  
  363.  
  364.         GRELBOTTOM,   GRELRIGHT,  GRELHEIGHT  and  SELECTED.  GADGIMAGE
  365.         indicates if the Gadget uses Image or Border structures; if  it
  366.         is  set, it will use the structures Image, if it is not set, it
  367.         will use  the structures Border (these structures are later  on
  368.         allocated  through  GadgetRender  and SelectRender). GRELBOTTOM
  369.         and GRELRIGHT serve instead  to use the coordinates  concerning
  370.         the  bottom (in spite of the top)  and the right side (in spite
  371.         of the left side), while GRELWIDTH and GRELHEIGHT serve to  use
  372.         width  and height  concerning the  width and  the height of the
  373.         element (Window or Requester) which contains the Gadget. It  is
  374.         obvious  that, if you use these  Flags, you must set the fields
  375.         Width and Height of the Gadget with negative values. Finally we
  376.         have SELECT  that serves  to make  appear the  Gadgets that has
  377.         already been selected.
  378.  
  379.  
  380.                                   ACTIVATION
  381.  
  382.             The  third part of the Requester  is dedicated to the eight
  383.         Gadgets that allow  to set the  characteristics of the  Gadget;
  384.         they  are  RELVERIFY,  GADGIMMEDIATE,  ENDGADGET,  FOLLOWMOUSE,
  385.         TOGGLESELECT, STRINGCENTER, STRINGRIGHT and LONGINT.
  386.             The first two (RELVERIFY and GADGIMMEDIATE) serve to select
  387.         the type of message that Intuition must generate when the  user
  388.         selects  the Gadget.  Setting the  first Gadget, Intuition will
  389.         generate a GADGETUP message when the user deselects the Gadget,
  390.         while  setting  the  second  Gadget,  Intuition will generate a
  391.         GADGETDONW  message when the user selects the Gadget. Of course
  392.         it  is  possible  to  set  both  of them so that Intuition will
  393.         generate  a GADGETDOWN message when the Gadget is selected, and
  394.         a GADGETUP message when it is deselected.
  395.             ENDGADGET serves only for the Requester-Gadgets and, if  it
  396.         is  set, it provokes the closing  of the Requester to which the
  397.         Gadget belongs as soon as the latter is selected.
  398.             FOLLOWMOUSE serves only with the Proportional Gadgets  and,
  399.         if  set, it generates MOUSEMOVE  messages which are useful when
  400.         the Proportional Gadget serves to make scroll a text, etc.
  401.             TOGGLESELECT serves not to make deselect automatically  the
  402.         Gadget:  normally, when you click the  left mouse button on the
  403.         Gadget,  this  latter  is  selected,  and  when  the  button is
  404.         released,   the  Gadget  is  deselected;  setting  TOGGLESELECT
  405.         instead, the Gadget  remains selected even  if you release  the
  406.         button. Of course, to deselect it, you only need click the left
  407.         mouse button once again on the Gadget.
  408.             The  last three Gadgets  serve only for  the String Gadget:
  409.         setting LONGINT, the String  Gadget will accept only  numerical
  410.         values,  while setting  STRINGCENTER and  STRINGRIGHT, the text
  411.         will be respectively centered and justified on the right. It is
  412.         obvious that these  two Gadgets are  mutually exclusive, so  if
  413.         you  select  one  of  them,  the  other  one will be deselected
  414.         automatically.
  415.  
  416.  
  417.  
  418.  
  419.                                      - 7 -
  420.  
  421.         Gadget's Editor V2.20     User Manual     Gadget's Editor V2.20
  422.  
  423.  
  424.                                      TYPE
  425.  
  426.             The  fourth  part  of  the  Requester  is  occupied by five
  427.         Gadgets that allow to select the type of Gadget to create; they
  428.         are   BOOLGADGET,   GADGET0002,   PROPGADGET,   STRGADGET   and
  429.         REQGADGET.
  430.             The first four Gadgets are mutually exclusive and permit to
  431.         select  the type of Gadget:  BOOLGADGET creates Boolean Gadgets
  432.         (that  can  assume  two  conditions:  selected  or deselected),
  433.         PROPGADGET  creates Proportional Gadgets  (which are especially
  434.         used  when  only  a  part  of  the  data  are visualized on the
  435.         screen), while STRGADGET creates String Gadgets (that allow the
  436.         inserting  of any text). GADGET0002  instead cannot be selected
  437.         because the CBM has never clarified its meaning.
  438.  
  439.  
  440.                                  THE LAST PART
  441.  
  442.             The  last  part  of  the  Requester  is  occupied  by seven
  443.         Gadgets,  six Booleans and one  String; the latter (accompanied
  444.         by the writing "Gadget's Name")  serves to insert the name  you
  445.         want  to give to the Gadget  (compulsary action), while the six
  446.         Gadgets Booleans are divided in their turn into two categories:
  447.         the four above serve to set the Borders, the texts, the  Images
  448.         of  the Gadget, and we are going  to analyze them in a moment's
  449.         time, while the other two  - the ones situated in  the inferior
  450.         part  of th Requester - serve to accept (Go) or refuse (Cancel)
  451.         the setting up just effected.  Of course the Requester will  be
  452.         closed as soon as you select one of these two Gadgets.
  453.  
  454.  
  455.                                  GadgetRender
  456.  
  457.             If  you  select  this  Gadget,  the  program  will  open  a
  458.         Requester which  allows the  user to  build the  Borders or the
  459.         Images  of the Gadget not selected  (as to the selected Gadget,
  460.         you must use SelectRender). If  GADGIMAGE is not set, the  open
  461.         Requester  will allow to create Borders;  if instead it is set,
  462.         the open Requester will allow to create Images. But let's go on
  463.         in order examining the two Requesters (the one for the  Borders
  464.         and the one for the Images).
  465.  
  466.  
  467.                            GadgetRender: the Borders
  468.  
  469.            If  GADGIMAGE is not set, the  program will open a Requester
  470.         to create the Borders of the Gadget; the open Requester has the
  471.         same dimension as the  Gadget Description Requester, and  it is
  472.         made  up  of  five  fixed  Gadgets  plus  further  two that are
  473.         visualized only if the Borders  have not yet been created.  The
  474.         five  fixed Gadgets  are divided  into two  lines: in the first
  475.         line  we  have  Next,  Previous,  Add  and Delete, while in the
  476.         second line we have Go. The first two Gadgets serve to make run
  477.  
  478.  
  479.                                      - 8 -
  480.  
  481.         Gadget's Editor V2.20     User Manual     Gadget's Editor V2.20
  482.  
  483.  
  484.         the  list of the Borders on  the screen (there may be different
  485.         Borders for  one only  Gadget), the  third and  fourth serve to
  486.         create  a  new  Border  structure  and cancel the one presently
  487.         visualized, while the last one serves to accept the setting  up
  488.         just effected.
  489.             If  no  Border  structure  has  been already allocated, the
  490.         Requester  will  show  the  writing  "There  is  not any Border
  491.         structure  allocated!" and visualize other two Gadgets: Make 3D
  492.         Border and Make 3D String. These two Gadgets serve to make some
  493.         particular Borders: the first makes some pseudo-3D Borders (the
  494.         normal Borders of the Boolean  Gadgets of the O.S. 2.0),  while
  495.         the  second makes some pseudo-3D Borders for String Gadgets (as
  496.         in the 2.0); of course, if you select one of these two Gadgets,
  497.         they will disappear  while there will  appear the first  Border
  498.         structure just made.
  499.             If  there are already some Border structures, the Requester
  500.         visualizes all  the data  concerning the  one presently active:
  501.         above  there are five Gadgets  that indicate the coordinates of
  502.         the Border  (Left and  Top), the  Color, the  Draw Mode  (JAM0,
  503.         JAM1,  etc.) and the corner number  that make up the Border; in
  504.         the central part  there are instead  the coordinates of  the 18
  505.         corners  that can make up the  Border (rarely you will use more
  506.         than 18 corners).
  507.  
  508.  
  509.                            GadgetRender: the Images
  510.  
  511.             If GADGIMAGE is set, the  program will open a Requester  to
  512.         make the Gadget Images; the open Requester is much like the one
  513.         that  makes the Borders (they have the same dimensions, and the
  514.         five inferior Gadgets  - Next, Previous,  Add, Delete and  Go -
  515.         are  the same; what changes is  the part concerning the data to
  516.         be set).
  517.             As for the Border  Description Requester, if there  are not
  518.         any  Image structures  allocated, the  Requester will  show the
  519.         writing:  "There  is  not  any  Image structure allocated!". If
  520.         instead  there is at  least one Image  structure allocated, the
  521.         Requester will present the data of the one presently visualized
  522.         (to make the structures run, you must use the Gadgets Next  and
  523.         Previous).
  524.             The  data indicated  by the  Requester concerning the Image
  525.         structure are seven: Left  and Top (that indicate  the position
  526.         compared  to the left superior corner of the Gadget), Width and
  527.         Height  (that  indicate  the  dimensions  of thew Image), Depth
  528.         (that indicates the BitPlane number), PlanePick (that indicates
  529.         which  BitPlane the Image  must go to:  for example, with 3 the
  530.         Image will go to BitPlane 0 and 1) and PlaneOnOff (that  serves
  531.         to  clear  or  activate  the  BitPlanes  not used). Besides two
  532.         Gadgets are activated  (Load Bitmap and  Load IFF) that  open a
  533.         File-Requester,  allowing the user to select the Image desired:
  534.         by Load Bitmap a Bitmap  Image will be loaded (thus  the fields
  535.         Width,  Height  and  Depth  must  be  set  BEFORE selecting the
  536.         Gadget), while by Load IFF an IFF Image will be loaded (thus it
  537.  
  538.  
  539.                                      - 9 -
  540.  
  541.         Gadget's Editor V2.20     User Manual     Gadget's Editor V2.20
  542.  
  543.  
  544.         is not necessary to set any Field, in consideration of the fact
  545.         that  the IFF File  contains already all  the data necessary to
  546.         visualize the Image).
  547.  
  548.  
  549.                                  SelectRender
  550.  
  551.             If  you  select  this  Gadget,  the  program  will  open  a
  552.         Requester  which allows the user to build the Borders or Images
  553.         of  the  Gadget  selected  (for  the  one  not  selected  it is
  554.         necessary  to use GadgetRender).  If GADGIMAGE is  not set, the
  555.         open Requester will  allow to make  Borders, but if  it is set,
  556.         the  open  Requester  will  allow  to  make  Images.  The  open
  557.         Requesters are the same as  the ones of GadgetRender, and  thus
  558.         they are used in the same way.
  559.  
  560.  
  561.                                   GadgetText
  562.  
  563.             If  you  select  this  Gadget,  the  program  will  open  a
  564.         Requester  that  allows  the   user  to  build  the   IntuiText
  565.         structures  of the Gadget (these  structures serve to visualize
  566.         texts). If there is not any IntuiText structure allocated,  the
  567.         Requester  will show  the writing  "There is  not any IntuiText
  568.         structure allocated!", while, if there is at least one, it will
  569.         visualize tha data of the structure presently active. As in the
  570.         Requester  of  the  GadgetRender,  also  here  we find the five
  571.         Gadgets  Next,  Previous,  Add,  Delete  and Go having the same
  572.         function we saw in the paragraph concernig the GadgetRender.
  573.             The  data  concerning  the  IntuiText  structure  which are
  574.         visualized by the Requester are six: Left, Top, Front Pen, Back
  575.         Pen,  Draw  Mode  and  Text;  the  first  two  serve to set the
  576.         coordinates of the text  (compared to the left  superior corner
  577.         of the Gadget), the third and the fourth serve to set the color
  578.         of  the text and the one of  the background where the text will
  579.         go to; the fifth sets the Draw Mode method (JAM0, JAM1,  etc.),
  580.         while the last one serves to insert the text to be visualized.
  581.  
  582.  
  583.                                   SpecialInfo
  584.  
  585.             The SpecialInfo Gadget serves to set the SpecialInfo of the
  586.         Gadget that you are making or modifying; there are two types of
  587.         SpecialInfo: PropInfo and StringInfo. The first is the specific
  588.         SpecialInfo  for the Proportional Gadgets,  while the second is
  589.         the specific one for the String Gadgets (the other Gadget types
  590.         do not  have dedicated  special structures).  That's the reason
  591.         why  the SpecialInfo Gadget is recognized only if the Gadget is
  592.         of the String or Proportional type.
  593.             If the Gadget  is of the  STRGADGET type, the  program will
  594.         open  a Requester  made up  of three  Gadgets: Num  Chars, Undo
  595.         Buffer and Go. The first is a String Gadget of the LONGINT type
  596.         by which you set the maximum number of characters of the buffer
  597.  
  598.  
  599.                                     - 10 -
  600.  
  601.         Gadget's Editor V2.20     User Manual     Gadget's Editor V2.20
  602.  
  603.  
  604.         (including the final NULL, so if you insert 10, the buffer will
  605.         be  made up of 9 characters +  the final NULL); the second is a
  606.         Boolean Gadget of the TOGGLE type (selected or deselected) that
  607.         serves to create the Undo Buffer while the third Gadget  serves
  608.         to accept the setting made.
  609.             If  instead  the  Gadget  is  of  the  PROPGADGET type, the
  610.         program will  open a  Requester made  up of  nine Gadgets:  the
  611.         first  four (AUTOKNOB, BORDERLESS,  FREEHORIZ and FREEVERT) are
  612.         of the TOGGLE type and serve to set the characteristics of  the
  613.         Gadget: AUTOKNOB generates automatically the knob of the Gadget
  614.         (it  is always advisable  to set it),  BORDERLESS serves not to
  615.         make the Borders of the Gadget, FREEHORIZ and FREEVERT are  set
  616.         to  allow respectively the horizontal and vertical scrolling of
  617.         the knob.
  618.             The second group is made  up of four String Gadgets  of the
  619.         LONGINT  type: HorizPort, VertPot,  HorizBody and VertBody. The
  620.         first two serve to set the position of the knob, while the last
  621.         two serve to set its largeness. The maximum value is 65523,  so
  622.         to  have a ten position Proportional  Gadget it is necessary to
  623.         set the Body (horizontal or vertical) at 6553 (65535/10).
  624.             Finally there is the Gadget Go with which the settings just
  625.         effected are accepted.
  626.  
  627.  
  628.                                  REGISTRATION
  629.                                  ~~~~~~~~~~~~
  630.  
  631.             If you want to register yourself to the program, you should
  632.         send $20 or £20.000 to the  author. The easiest way is to  send
  633.         them in an envelope together with a letter addressed to:
  634.  
  635.                                  Stefano Crimì
  636.                               Via Don Minzoni 28
  637.                              I-93100 CALTANISSETTA
  638.                                      ITALY
  639.  
  640.  
  641.  
  642.                                  DISTRIBUTION
  643.                                  ~~~~~~~~~~~~
  644.  
  645.             The   complete   Gadget's   Editor   package (GADED220.LHA)
  646.         contains the following Files:
  647.  
  648.         GadEdit/GadEdit                               98232 bytes
  649.         GadEdit/GadEdit.info                           1562 bytes
  650.         GadEdit/GadEdit.DOC.ITA                       39378 bytes
  651.         GadEdit/GadEdit.DOC.ENG                       38965 bytes
  652.         GadEdit/libs13/ReqTools.library               39456 bytes
  653.         GadEdit/libs20/ReqTools.library               34920 bytes
  654.         GadEdit/Catalogs/Italiano/gadedit.catalog      2752 bytes
  655.         GadEdit/Catalogs/Deutsch/gadedit.catalog       2798 bytes
  656.         GadEdit/Catalogs/Français/gadedit.catalog      2676 bytes
  657.  
  658.  
  659.                                     - 11 -
  660.  
  661.         Gadget's Editor V2.20     User Manual     Gadget's Editor V2.20
  662.  
  663.  
  664.         GadEdit/Catalogs/CatSource.LHA                 6375 bytes
  665.  
  666.             The distribution of the single Files is forbidden: only the
  667.         complete  package can  be distributed  through BBS, Fish Disks,
  668.         etc.
  669.             The Files libs13/ReqTools and libs20/ReqTools are Copyright
  670.         (C)  Nico  François.  All  the  other  Files  are Copyright (C)
  671.         Stefano Crimì.
  672.  
  673.  
  674.  
  675.                                 AUTHOR CONTACT
  676.                                 ~~~~~~~~~~~~~~
  677.  
  678.             If  you  have  any  comments  about this program, regarding
  679.         problems,  ideas  of improvements etc., feel free to send me  a
  680.         note to this address:
  681.  
  682.                                  Stefano Crimì
  683.                               Via Don Minzoni 28
  684.                              I-93100 CALTANISSETTA
  685.                                      ITALY
  686.  
  687.             If you  don't  like  snail mail, you can send me e-mail via
  688.         FidoNet using any of these addresses:
  689.  
  690.         Stefano Crimì 2:332/505.12@Fidonet.org
  691.                       2:335/502.1@Fidonet.org
  692.  
  693.  
  694.  
  695.                                 ACKNOWLEDGMENTS
  696.                                 ~~~~~~~~~~~~~~~
  697.  
  698.             There  are some persons  to whom I  am very obliged for the
  699.         help they offered to me; it is only thanks to them that I  have
  700.         been able to finish this program. They are:
  701.  
  702.             Nico François - For the mythical ReqTools.library.
  703.  
  704.             Marco  Stagno, Nicola Soggia and Sebastiano Vigna - For the
  705.         explanations about the structure of the IFF-ILBM Files.
  706.  
  707.             Peter Simons - For his useful bug report.
  708.  
  709.             Massimiliano  Augello,  Mario  Murè  and  all the points of
  710.         Speed  Of  Life  and  Suburbia  - For their indispensable moral
  711.         help.
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.                                     - 12 -
  720.  
  721.         Gadget's Editor V2.20     User Manual     Gadget's Editor V2.20
  722.  
  723.  
  724.                                 PROGRAM HISTORY
  725.                                 ~~~~~~~~~~~~~~~
  726.  
  727.         ***************************************************************
  728.         Gadget's Editor 2.00 (20-Sep-92)
  729.  
  730.             First release.
  731.  
  732.         ***************************************************************
  733.         Gadget's Editor 2.10 (26-Sep-92)
  734.  
  735.             Fixed two bugs:
  736.               - the program now works also without the Locale.library.
  737.               - the function Load now works correctly (in the precedent
  738.                 versions  the structures IntuiText  were not recognized
  739.                 correctly).
  740.  
  741.         ***************************************************************
  742.         Gadget's Editor 2.20 (09-Oct-92)
  743.  
  744.             Fixed a small bug:
  745.              - now it is possible to change the name of the Gadget when
  746.                you edit it.
  747.             Now  the  screen  opened  by  the  program  has  the   same
  748.             dimensions of the Workbench screen.
  749.  
  750.         ***************************************************************
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.                                     - 13 -
  780.  
  781.         Gadget's Editor V2.20     User Manual     Gadget's Editor V2.20
  782.  
  783.  
  784.                                  GENERAL INDEX
  785.                                  ~~~~~~~~~~~~~
  786.  
  787.         Legal Stuff................................................  1
  788.         DISCLAIMER.................................................  1
  789.         INTRODUCTION...............................................  2
  790.         THE PROGRAM................................................  2
  791.         THE MENUS..................................................  3
  792.             THE GADGET MENU........................................  3
  793.             THE CODE MENU..........................................  4
  794.                 THE FUNCTION LOAD..................................  4
  795.                 THE FUNCTION SAVE..................................  4
  796.             THE GENERAL MENU.......................................  5
  797.         CREATING A NEW GADGET......................................  5
  798.             POSITION AND DIMENSIONS................................  6
  799.             FLAGS..................................................  6
  800.             ACTIVATION.............................................  7
  801.             TYPE...................................................  8
  802.             THE LAST PART..........................................  8
  803.                 GadgetRender.......................................  8
  804.                     GadgetRender: the Borders......................  8
  805.                     GadgetRender: the Images.......................  9
  806.                 SelectRender....................................... 10
  807.                 GadgetText......................................... 10
  808.                 SpecialInfo........................................ 10
  809.         REGISTRATION............................................... 11
  810.         DISTRIBUTION............................................... 11
  811.         AUTHOR CONTACT............................................. 12
  812.         ACKNOWLEDGMENTS............................................ 12
  813.         PROGRAM HISTORY............................................ 13
  814.         GENERAL INDEX.............................................. 14
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.                                     - 14 -
  840.  
  841.